$(function () {
    // 定义初始值为5，每次点击已再查出５条评论
    var re_ok_num = 0;
    // 假设验证用户名，评论不合格
    var error_name = false;
    var error_response = false;
    // 获取菜品id，评论表单token值
    var story_id = $(".story_id").val();
    var csrf_value = $("input[name='csrfmiddlewaretoken']").val();
    // 获取菜品的评论数
    var response_num = parseInt($(".response_num").html());

    // 评论成功弹窗
    var i = 5;

    // 弹窗弹出函数
    function pop() {
        $("#pop").fadeIn();

        var timer = setInterval(function () {
            i--;
            $("#count").html(i);
            if (i == 0) {
                i = 5;
                $("#count").html(i);
                clearInterval(timer);
                $("#pop").css({ display: "none" });

            }
        }, 1000);
    }

    $(".pop_title,.mask").click(function(){
        $("#pop").fadeOut();
        location.reload();
    });


    // 查看所有评论
    $(".show_response").click(function () {
        if($(".all_response_link").html()=="所有评论"){
            // 如果评论数为0
            if(response_num==0){
                $(".no_response_tip").show();

            }else {
                $(".response_con").show();
                $(".show_more_response").show();
                $(".all_response_link").html("收起评论");
            }

        }else {
            // 删除除了前五个所有评论的节点
            $(".response_flag").nextAll().remove();
            re_ok_num = 0;
            $(".response_con").hide();
            $(".show_more_response").hide();
            $(".no_response_tip").hide();
            $(".all_response_link").html("所有评论");
        }

    });


    function get_5_response_ajax() {
        // 异步请求
        $.ajax({
            url:"/stories/show_more_response/",
            data:{"story_id":$(".story_id").val(),"re_ok_num":re_ok_num},
            dataType:"json",
            type:"GET",
            async:false
        }).done(function (data) {
            if(data.ret) {
                for (var i = 0; i < 5; i++) {
                    var $new = $('<li class="user_response">' +
                            '<span class="response_user_pic glyphicon glyphicon-user"></span>' +
                            '<span class="response_name">' + data.ret[i].user_name + '：</span>' +
                            '<span class="response_desc">' + data.ret[i].response + '</span><br>' +
                            '<time class="response_time">' + data.ret[i].re_time + '</time></li>'
                        );
                    $(".response_con").append($new);
                } //　结束循环
            }　else {
                $(".no_response_tip").show();
            }// 结束判断
            });　// 结束ajax
    }


    // 查看更多点击事件
    $(".show_more_response").click(function () {
        // 判断现有评论数是否大于５
        if (response_num<5){
           $(".no_response_tip").show();
            return false;
        }
        re_ok_num += 5;
        get_5_response_ajax();

        }); //结束点击事件


    // 输入姓名框事件
    $(".user_name").focus(function () {
        $(".error_name").hide();
    });

    $(".user_name").blur(function () {
        // 隐藏后台错误提示
        $(".error_tip_python").hide();
        check_user_name();
    });

    // 输入评论框事件
    $(".response").focus(function () {
        $(".error_msg").hide();
    });

    $(".response").blur(function () {
        // 隐藏后台错误提示
        $(".error_tip_python").hide();
        check_response();
    });


    // 检验姓名输入
    function check_user_name() {
        var user_name = $.trim($(".user_name").val());
        if(user_name=="") {
            $(".error_msg").html("带*为必填选项哦～～").show();
            error_name = true;
        }
        else if(user_name.length > 10) {
            $(".error_name").html("姓名长度不能超过10~").show();
            error_name = true;
        }
        else {
            $(".error_name").hide();
            error_name = false;
        }


    }


    // 检验评论输入
    function check_response() {
        var response = $.trim($(".response").val());
        if(response=="") {
            $(".error_msg").html("带*为必填选项哦～～").show();
            error_response = true;
        }
        else if(response.length>120) {
            $(".error_msg").html("评论长度不能超过120~").show();
            error_response = true;
        }else {
            $(".error_msg").hide();
            error_response = false;
        }
    }


    // 点赞动画
    function praise_animate() {
        var x = 80;
        var y = 900;
        var num = Math.floor(Math.random() * 3 + 1);
        var index = $('.praise_li').children('.praise_heart').length;
        var rand = parseInt(Math.random() * (x - y + 1)+y/1.5);

        $(".praise_li").append("<img class='praise_heart' src=''>");
        $('.praise_heart:eq(' + index + ')').attr('src', '/static/images/' + num + '.png');
        $(".praise_heart").animate({
            bottom: "500px",
            opacity: "0",
            left: rand,
            }, 2000)
        }  //　结束动画

    // 发送ajax异步请求
    function ajax_update_praise_num() {
        $.ajax({
            url:"/stories/story_praise/",
            type:"POST",
            dataType:"json",
            async:false,
            data:{"story_id":story_id,"csrfmiddlewaretoken":csrf_value}

            }).done(function (data) {
                if(data.ret){
                    $(".story_praise_num").html(data.ret);
                }

            })
        }

    // 点赞功能,控制不能频繁点击
    var praise_tag = 0;
    $(".story_praise").click(function () {
        // 点赞动画
        praise_animate();

        if(praise_tag==0){
            praise_tag = 1;
            setTimeout(function () {praise_tag = 0},1000);
            // 控制不能频繁更新点赞数
            ajax_update_praise_num();
            }
        });

    function submit_ajax() {
         // 获取现有评论数
        var story_response_num = $(".response_num").html();
        // 获取用户名和评论
        var user_name = $(".user_name").val();
        var response = $(".response").val();
        // 发送ajax异步请求后台验证数据，并保存，更新数据
        $.ajax({
            url:"/stories/response_form/",
            type:"POST",
            dataType:"json",
            async:false,
            data:{"story_id":story_id, "user_name":user_name,"response":response, "csrfmiddlewaretoken":csrf_value}

            }).done(function (data) {
                if(data.ret){
                    // 弹出弹框
                    pop();
                    setTimeout(function () {
                        location.reload();
                    },5000)
                }

            });
    }

    // 评论提交事件
    $(".submit_btn").click(function () {
        $(".no_response_tip").hide();
        check_user_name();
        check_response();

        if (error_name==false && error_response==false){

            submit_ajax();

            $(".user_name").val("");
            $(".response").val("");

        }else {
            return false;
        }

    });


});
